home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Texty / crackme / DECODE.BAS < prev    next >
Encoding:
BASIC Source File  |  1999-01-28  |  1.0 KB  |  52 lines

  1. DECLARE SUB ShowStr (a$, m$)
  2. DIM SHARED Mask(256) AS INTEGER
  3.  
  4. OPEN "crackme2.com" FOR BINARY AS #1
  5.   SEEK #1, 4
  6.   s$ = INPUT$(&H2A5 * 2, #1)
  7. CLOSE
  8.  
  9. OPEN "crc32.dat" FOR BINARY AS #1
  10.   c$ = INPUT$(1024, #1)
  11. CLOSE
  12.  
  13. FOR a% = 1 TO &H400 - 2
  14.   f% = ASC(MID$(s$, &H116 + a%, 1)) XOR ASC(MID$(c$, 2 + a%, 1))
  15.   m$ = m$ + CHR$(f%)
  16. NEXT
  17.  
  18. FOR a% = 1 TO &H400 - 4
  19.   f% = ASC(MID$(c$, 2 + a%, 1))
  20.   Mask(f%) = ASC(MID$(m$, a% + 2, 1))
  21. NEXT
  22.  
  23. l1% = Mask(0)
  24. l2% = Mask(1)
  25. FOR a% = 1 TO LEN(s$) STEP 2
  26.   c1% = ASC(MID$(s$, a%, 1)) XOR l1%
  27.   c2% = ASC(MID$(s$, a% + 1, 1)) XOR l2%
  28.   MID$(s$, a%, 1) = CHR$(c1%)
  29.   MID$(s$, a% + 1, 1) = CHR$(c2%)
  30.   l1% = Mask(c1%)
  31.   l2% = Mask(c2%)
  32. NEXT
  33.  
  34. OPEN "ok.com" FOR OUTPUT AS #2
  35.   PRINT #2, s$;
  36. CLOSE
  37.  
  38. OPEN "key.dat" FOR OUTPUT AS #2
  39.   FOR a% = 0 TO 255
  40.     PRINT #2, CHR$(Mask(a%));
  41.   NEXT
  42. CLOSE
  43.  
  44. SUB ShowStr (a$, m$)
  45.     DEF SEG = &HB800
  46.     FOR t% = 1 TO LEN(a$)
  47.       POKE t% * 2 - 2, ASC(MID$(a$, t%, 1))
  48.       POKE t% * 2 - 1, ASC(MID$(m$, t%, 1))
  49.     NEXT
  50. END SUB
  51.  
  52.